Really Simple Discovery

Really Simple Discovery (RSD) is an XML format and a publishing convention for making services exposed by blog, or other web software, discoverable by client software.

It is a way to reduce the information required to set up editing/blogging software to three well known elements:

Any other critical settings should either be defined in the RSD file related to the blog, or discoverable using the information provided.

Contents

History

RSD was authored by Daniel Berlinger in the Really Simple Discoverability 1.0 specification.

Format

To make use of RSD, the owner of a site places a link tag in the head section of the homepage which indicates the location of the RSD file. An example of what MediaWiki uses is:

<link rel="EditURI" type="application/rsd+xml" href="http://en.wikipedia.org/w/api.php?action=rsd" />

If this tag is missing or the file is not found, clients should look in the default location which is a file named rsd.xml in the webroot.[1] For example:

http://example.com/rsd.xml

Contents

Here is a sample RSD file, from "Really Simple Discoverability 1.0":

 <?xml version="1.0" ?> 
 <rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd" >
    <service>
        <engineName>Blog Munging CMS</engineName> 
        <engineLink>http://www.blogmunging.com/</engineLink>
        <homePageLink>http://www.userdomain.com/</homePageLink>
        <apis>
                <api name="MetaWeblog" preferred="true" apiLink="http://example.com/xml/rpc/url" blogID="123abc" />
                <api name="Blogger" preferred="false" apiLink="http://example.com/xml/rpc/url" blogID="123abc" />
                <api name="MetaWiki" preferred="false" apiLink="http://example.com/some/other/url" blogID="123abc" />
                <api name="Antville" preferred="false" apiLink="http://example.com/yet/another/url" blogID="123abc" />
                <api name="Conversant" preferred="false" apiLink="http://example.com/xml/rpc/url" blogID="">
                    <settings>
                        <docs>http://www.conversant.com/docs/api/ </docs> 
                        <notes>Additional explanation here.</notes>
                        <setting name="service-specific-setting">a value</setting> 
                        <setting name="another-setting">another value</setting> 
                         ... 
                    </settings>
                 </api>
        </apis>
    </service>
 </rsd>

MediaWiki example[2]:

<?xml version="1.0"?>
<rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd">
	<service>
		<apis>
			<api name="MediaWiki" preferred="true" apiLink="http://en.wikipedia.org/w/api.php" blogID="">
				<settings>
					<docs xml:space="preserve">http://mediawiki.org/wiki/API</docs>
					<setting name="OAuth" xml:space="preserve">false</setting>
				</settings>
			</api>
		</apis>
		<engineName xml:space="preserve">MediaWiki</engineName>
		<engineLink xml:space="preserve">http://www.mediawiki.org/</engineLink>
	</service>
</rsd>

Usage of RSD

References

  1. ^ "RFC: Really Simple Discoverability 1.0". 2007-10-16. http://tales.phrasewise.com/rfc/rsd#ODoxNTozNiBBTQdbdb. 
  2. ^ http://en.wikipedia.org/w/api.php?action=rsd
  3. ^ API discovery - StatusNet
  4. ^ [mediawiki] Contents of /trunk/phase3/includes/api/ApiRsd.php

See also

External links